import request from '@/api/request'

/**
 * 获取所有角色列表
 * @returns
 */
export function findAllRoles() {
  return request({
    url: '/admin/sysAuth/role/findAllRoles'
  })
}

/**
 * 获取角色分页列表
 * @param {*} start
 * @param {*} limit
 * @returns
 */
export function findRolesByPage(start, limit) {
  return request({
    url: `/admin/sysAuth/role/findRolesByPage/${start}/${limit}`
  })
}

/**
 * 获取角色明细
 * @param {*} id
 * @returns
 */
export function findRolePermissions(id) {
  return request({
    url: `/admin/sysAuth/role/findRolePermissions/${id}`,
    method: 'get'
  })
}

/**
 * 修改角色和权限
 * @param {*} data obj
 * createTime (string, optional): 创建时间 ,
 * id (string, optional): 角色id ,
 * isDeleted (boolean, optional): 逻辑删除 1（true）已删除， 0（false）未删除 ,
 * modifyTime (string, optional): 更新时间 ,
 * permissionIds (Array[string], optional): 权限id集合 ,
 * remark (string, optional): 备注 ,
 * roleCode (string, optional): 角色编码 ,
 * roleName (string, optional): 角色名称
 * @returns
 */
export function updateRolePermissions(data) {
  return request({
    url: `/admin/sysAuth/role/updateRolePermissions`,
    method: 'put',
    data
  })
}

/**
 * 新增角色
 * @param {*} data obj
 * createTime (string, optional): 创建时间 ,
 * id (string, optional): 角色id ,
 * isDeleted (boolean, optional): 逻辑删除 1（true）已删除， 0（false）未删除 ,
 * modifyTime (string, optional): 更新时间 ,
 * permissionIds (Array[string], optional): 权限id集合 ,
 * remark (string, optional): 备注 ,
 * roleCode (string, optional): 角色编码 ,
 * roleName (string, optional): 角色名称
 * @returns
 */
export function saveRolePermissions(data) {
  return request({
    url: `/admin/sysAuth/role/saveRolePermissions`,
    method: 'post',
    data
  })
}

/**
 * 删除角色
 * @param {*} id
 * @returns
 */
export function removeRole(id) {
  return request({
    url: `/admin/sysAuth/role/removeRole/${id}`,
    method: 'delete'
  })
}

